package com.flyduck.system.dao;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.flyduck.system.entity.SysConfigEntity;
import com.flyduck.system.mapper.SysConfigMapper;
import com.flyduck.system.vo.config.SysConfigReqVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

/**
 * @program: flyduck-platform2
 * @description:
 * @author: flyduck
 * @create: 2021-04-23 14:55
 **/
@Repository
public class SysConfigDao extends ServiceImpl<SysConfigMapper, SysConfigEntity> {

    @Autowired
    private SysConfigMapper sysConfigMapper;

    /**
     * 根据配置key获取值
     * @param configKey
     * @return
     */
    public String findConfigValueByConfigKey(String configKey) {
        QueryWrapper<SysConfigEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("config_key",configKey);
        SysConfigEntity entity = this.baseMapper.selectOne(wrapper);
        return entity.getConfigValue();
    }

    public IPage<SysConfigEntity> getSystemConfigPageList(Page<SysConfigEntity> configEntityPage, SysConfigReqVO reqVo) {
        return sysConfigMapper.getSystemConfigPageList(configEntityPage,reqVo);
    }

    public IPage<SysConfigEntity> getDeptConfigPageList(Page<SysConfigEntity> configEntityPage, SysConfigReqVO reqVo,String deptId) {
        return sysConfigMapper.getDeptConfigPageList(configEntityPage,reqVo,deptId);
    }

    public SysConfigEntity getDeptConfigDetail(Long id,String deptId) {
        return sysConfigMapper.getDeptConfigDetail(id,deptId);
    }
}
